Self monitoring GPS on mobile device

ABSTRACT

A method, a mobile device arid a computer program product for acquiring GPS on a mobile device possessing GPS capability are disclosed. The method comprises the step of setting a current value of the period of the power-up phase of the GPS dependent upon adaptive predictions of when the GPS should be powered on to meet specifications on positioning accuracy and GPS acquisition time.

FIELD OF THE INVENTION

The present invention relates generally to GPS acquisition and inparticular to power conservation for GPS-enabled devices.

BACKGROUND

Techniques for the positioning of mobile devices in a wirelessenvironment are important for a number of applications, such asemergency location services, ad hoc networks, and vehicle tracking.

In the mobile phone industry, competing technologies address thespecific issues of Emergency-911 (E-911) position location. Broadlyspeaking, these technologies fall into two categories: (1) network-basedtechnologies and (2) Global Positioning Systems (GPS) technologies. Thenetwork-based technologies use network-based metrics (e.g., time offlight, angle of arrival etc). The GPS technologies use line-of-sightmeasurements to satellites.

Network-based and GPS technologies each attempt to meet the US FederalCommunications Commission (FCC) requirements for E-911 EmergencyLocation Services. The FCC requirements set specific statisticalrequirements on the position accuracy on any technology. Currently theFCC's E-911 Phase II Plans dictate that 67% of all attempts for aposition location must have an accuracy of less than 50 m, and 95% ofcalls must have an accuracy of less than 150 m (Federal CommunicationsCommission E-911 http://www.fcc.gov/911/enhanced/). Although notmandated, it is generally accepted that acquisition time of a positionfix must be in a reasonably short time scale. A positioning technologythat can deliver a position fix within a timescale of 30 seconds isgenerally considered reasonable for E-911 services, since such a smallamount of time has negligible impact on the total time taken for theemergency services to reach the emergency scene.

GPS-based techniques are known to provide accurate positionmeasurements. However, such techniques are prone to a lengthy GPSacquisition time (the length of time taken from the time a GPS device ispowered on until that device obtains a position fix). A principal reasonfor this is that the device does not know a priori which GPS satellitesare currently in view and must undertake an exhaustive search to findthe satellites in view. This is termed a “cold start”. Generallyspeaking in cold start mode, a GPS device can take up to several minutesto find a location fix, which is a time-scale deemed inappropriate formany applications, such as E-911.

One simple approach to overcome this difficulty involves simply keepingthe GPS device switched on at all times. After an initial fix, thesatellite almanac and ephemeris data are continuously kept up-to-date,and a cold start phase can be avoided. In this mode, the GPS device issaid to be in “hot start” mode. A principal disadvantage of alwayskeeping the device in a hot-start mode is the drain on the batteryresources of the mobile device. Battery power in a mobile device is aprecious resource, and any steps that can be taken to maximize batterylife are advantageous. Simply keeping a GPS device powered on at alltimes to avoid the cold start is generally considered an unacceptablesolution. This is particularly the case for an application like E-911,where the GPS location finding capability is likely to be only rarelyutilized.

A potential resolution to the problem of cold starts can be found in theAssisted-GPS (A-GPS) system proposed by Qualcomm; see Qualcomm WhitePaper, How A-GPS Works, 2001(http://www.snaptrack.com/pdf/How_aGPS_works.pdf). In this system, thenetwork “assists” the mobile device by transferring updated almanacs andephemeris, collected by base stations, to the mobile device upon receiptof a location request. This speeds up the GPS acquisition of a mobiledevice relative to the acquisition from a cold start. The system alsointegrates network positioning information to find optimal positionaccuracy. However, this approach at attempting to solve the cold startproblem comes at the cost of increased complexity in the network systemdesign and incurs additional costs for the required extra infrastructure(i.e. network hardware and communications). This system is also notworkable if the mobile device is disconnected from a network, but stillrequires a GPS position fix.

Another system attempting to address cold start is the use of periodicpower-down of the GPS device. In this mode, the device is periodicallyswitched off for a set period. As long as the time switched off remainssmall, at each onset of the power-up phase, the GPS device effectivelycommences in hot start mode. This periodic power-down of a GPS device istermed “TricklePower” by GPS chipset manufacturers; see LaipacTechnology Inc., Reference Guideline to TF GPS, September 2001,(http://www.laipac.com/datasheets/gps/TF%20GPS%20Series.pdf). In thismode, a user is allowed to set initially the power-up period, P_(u). Forexample, setting P_(u)=30 minutes means the GPS device powers up every30 minutes to acquire a position fix. Once the fix is obtained (usuallywithin seconds), the GPS device enters power-down mode.

Simply guessing what value to set P_(u) at is not optimal. A needclearly exists for an improved GPS acquisition system.

SUMMARY

According to an aspect of the present invention, there is provided amethod of acquiring GPS on a mobile device possessing GPS capability.The method comprises the step of setting a current value of the periodof the power-up phase of the GPS dependent upon adaptive predictions ofwhen the GPS should be powered on to meet specifications on positioningaccuracy and GPS acquisition time.

According to another aspect of the present invention, there is provideda mobile device. The mobile device comprises a processor and memorycoupled to the processor; a GPS module coupled to the processorproviding a GPS capability for the mobile device; and means for settinga current value of the period of the power-up phase of the GPS moduledependent upon adaptive predictions of when the GPS module should bepowered on to meet specifications on positioning accuracy and GPSacquisition time.

According to yet another aspect of the present invention, there isprovided a computer program product for a mobile device possessing GPScapability. The computer program product having a computer readablemedium storing a computer program for acquiring GPS on the mobiledevice. The computer program product comprises computer program codemeans for interfacing with the GPS capability of the mobile device andcomputer program code means for setting a current value of a period ofthe power-up phase of the GPS module dependent upon adaptive predictionsof when the GPS module should be powered on to meet specifications onpositioning accuracy and GPS acquisition time.

According to yet another aspect of the present invention, there isprovided a method of acquiring GPS on a mobile device possessing GPScapability. The method comprises the steps of using a position errorbetween a predicted position and an actual position of the mobile deviceat a last position fix; if the position error is too large, adjusting acurrent value of the period of the power-up phase downward; if theposition error is too small, adjusting the current value of the periodof the power-up phase upward; estimating using a neural network a newvalue of the period of the power-up phase dependent upon the positionerror and setting a new value of the period of the power-up phase to aweighted value dependent upon an acceptable error bound.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are described hereinafter by way of examplewith reference to the drawings, in which:

FIG. 1 is an image of a GPS-equipped mobile device with which anembodiment of the invention may be practiced;

FIG. 2 is a high-level block diagram of a system for adaptivelypredicting when a GPS-enable wireless communication device should bepowered on in accordance with an embodiment of the invention;

FIG. 3 is a flowchart illustrating a method for determining positionerrors in accordance with an embodiment of the invention;

FIG. 4 is a flowchart illustrating a method of determining the value ofP_(u) to satisfy position accuracy bounds in accordance with theembodiment of the invention;

FIG. 5 is a flowchart illustrating a method of determining the value ofP_(u) to satisfy GPS acquisition time bounds; and

FIG. 6 is a block diagram of a general-purpose computer system withwhich embodiments of the invention may be practiced.

DETAILED DESCRIPTION

Methods, apparatuses, and computer program products for energy efficientGPS acquisition on a mobile device are disclosed. The acquisition meetspre-assigned statistical accuracy and acquisition time. In the followingdescription, numerous specific details, including particular wirelessnetworks, positioning systems, network configurations, filteringtechniques, and the like are set forth. However, from this disclosure,it will be apparent to those skilled in the art that modificationsand/or substitutions may be made without departing from the scope andspirit of the invention. In other circumstances, specific details may beomitted so as not to obscure the invention.

The methods may be implemented in modules. A module, and in particularits functionality, can be implemented in either hardware or software. Inthe software sense, a module is a process, program, or portion thereofthat usually performs a particular function or related functions. Suchsoftware may be implemented in C, C++, JAVA, JAVA BEANS, Fortran, or acombination thereof, for example, but may be implemented in any of anumber of other programming languages/systems, or combinations thereof.In the hardware sense, a module is a functional hardware unit designedfor use with other components or modules. For example, a module may beimplemented using discrete electronic components, or it may form atleast a portion of an entire electronic circuit such as a FieldProgrammable Gate Arrays (FPGA), Application Specific Integrated Circuit(ASIC), and the like. A physical implementation may also compriseconfiguration data for a FPGA, or a layout for an ASIC, for example.Still further, the description of a physical implementation may be inEDIF netlisting language, structural VHDL, structural Verilog, or thelike. Numerous other possibilities exist. Those skilled in the art willappreciate that the system may also be implemented as a combination ofhardware and software modules.

Some portions of the following description are presented in terms ofalgorithms and representations of operations on data within a computersystem or other device capable of performing computations. Suchalgorithmic descriptions and representations may be used by thoseskilled in the art to convey the substance of their work to othersskilled in the art. An algorithm is a self-consistent sequence of stepsleading to a desired result. The steps are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical, magnetic, orelectromagnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated. These signals may be referred to asbits, values, elements, symbols, characters, terms, numbers, or thelike.

The above and similar terms are to be associated with the appropriatephysical quantities and are merely convenient labels applied, to suchquantities. Unless specifically stated otherwise, and as apparent fromthe following, discussions utilizing terms such as “receiving”,“calculating”, “predicting”, “comparing”, “determining”, “storing”,“adjusting”, “using”, “estimating”, “setting” or the like, refer to theaction and processes of a computer system, or a similar electronicdevice. Such a system or device manipulates and transforms datarepresented as physical quantities within the registers and memories ofthe computer system into other data similarly represented as physicalquantities within the computer system registers, memories, or anotherform of storage, transmission or display devices.

Apparatuses and systems for performing the operations of the methods arealso described. Such an apparatus may be specifically constructed forthe required purpose. Alternatively, the apparatus may comprise ageneral-purpose computer (e.g., a notebook PC) or another computingdevice (e.g., a PDA), which may be selectively activated or reconfiguredby a computer program read by the computer. The algorithms presentedherein are not inherently related to any particular computer or otherapparatus; various general-purpose machines may be used with programs.

The embodiments of the invention also relate to a computer program(s) orsoftware, in which method steps may be put into effect by computer code.The computer program is not intended to be limited to any particularprogramming language, operating environment, and implementation thereof.A variety of programming languages, operating systems, and codingthereof may be used. Moreover, the computer program is not intended tobe limited to any particular control flow. There are many other variantsof the computer program, which can use different control flows withoutdeparting the scope and spirit of the invention. Furthermore, one ormore of the steps of the computer program may be performed in parallelrather than sequentially.

The computer program may be stored on any computer readable medium. Thecomputer readable medium may comprise storage devices, such as magneticmedia disks, CD-ROMs, DVDs, flash RAM devices, memory chips, memorycards, magnetic tape, other storage devices and media suitable forinterfacing with and being read by a general-purpose computer, andcombinations thereof. The computer readable medium may also include ahard-wired medium, such as a local area network or the Internet, orwireless medium, such as an IEEE 802.11 wireless network, BlueTooth, aGSM mobile telephone system, PCS, and GPS. The computer program whenloaded and executed on such a general-purpose computer effectivelyresults in an apparatus that implements the method steps of theembodiments.

The methods of the embodiments comprise particular control flows.However, different control flows can be practiced without departing fromthe scope and spirit of the invention.

I. INTRODUCTION

Hereinafter, the next “power-up time” means the time derived by addingthe current value of P_(u) to the time at which a power down occurs. Theembodiments of the invention systematically set the period of thepower-up phase, P_(u), whilst retaining the accuracy of the position fixand the acquisition times of the position fix within acceptable bounds.

Adaptive predictions are made of when a GPS device, embedded in awireless communication device, should be powered on to meetspecifications on positioning accuracy and GPS acquisition time. Theembodiments of the invention address the issue of setting the period ofthe power-up phase, P_(u), whilst retaining the accuracy of the positionfix and the acquisition times of the position fix within acceptablebounds. Simply setting P_(u) to some value at the onset of operation mayprovide the required bounds for some time epoch, but there is noguarantee that this will also be the case in the future. Also, thissimple approach provides no sense of an optimized value of P_(u). Bythis, what is meant is the maximum value of P_(u) allowable whilst stillretaining the accuracy of the position fix and the acquisition times ofthe position fix within acceptable bounds. An example of an inefficientsystem design would be a GPS system reporting positions every secondwhen an acceptable error bound (accuracy) of 50 meters was required on adevice moving at 1 meter per second. The embodiments of the inventionallow a GPS device to determine dynamically an optimal P_(u) in responseto such a circumstance.

The methods and apparatuses in accordance with embodiments of theinvention address these issues, using adaptive-filter andmachine-learning techniques within the mobile device. These techniquesallow the mobile device to self monitor the predicted accuracy error andthe predicted acquisition times of the GPS device. If these predictedvalues fail to meet acceptable bounds, the value of P_(u) is reduced. Ifthe predicted values meet the acceptable bounds, the value of P_(u) isincreased. The embodiments of the invention provide a technologyreferred to hereinafter as Self Monitored (SM)-GPS. Although applicableto E-911 services, SM-GPS is equally applicable to any mobile GPSdevice. SM-GPS allows such a device to operate in the most energyefficient way whilst still retaining the position accuracy andacquisition times deemed appropriate by the operator of the GPS device.

The embodiments of the invention assist a mobile device in GPS positionacquisition in the most energy efficient way, whilst still retaining theposition accuracy and acquisition times deemed appropriate by theoperator of the GPS device. In this context, “mobile device” means apower limited (e.g. battery operated) device possessing embedded GPScapability. Examples of such devices are GPS-capable mobile telephones,laptop computers, Personal Digital Assistants (PDAs), and wirelesssensor devices, to name a few.

II. DEVICE & SOFTWARE TO SELF-MONITOR POWER OF POWER-UP PHASE

In one embodiment, software is embedded in a mobile device toself-monitor the period of the power-up phase, P_(u) for the device, andto self-adjust the value of P_(u) if P_(u) is inconsistent withmaximally conserving the battery power of the mobile device. FIG. 1shows such a GPS-equipped mobile device 100. The GPS-equipped mobiledevice may be, for example, a Compaq® iPAQ® PDA with a GPS adaptorconnected to the PDA. Software embodying a method to self-monitor theperiod of the power-up phase is used in the PDA to implement thisembodiment.

The embodiments of the invention involve the determination of the errorbetween the predicted position of the mobile device and that of theactual position reported by its GPS. Given a past history of N reportedpositions, prediction techniques can be used to predict the position ofthe device at some time t later (the next power-up phase). The value Nis determined a priori, usually based on experience of testing of aparticular adaptive learning algorithm. In an embodiment of theinvention, an adaptive filter technique based on neural networks is usedfor the position prediction. The difference between this predictedposition and the actual position measured at time t can be used toformulate the position error. After forming this position error, thevalues of the position, the position error, and the value of P_(u) usedat the time of the actual position measurement are stored in the mobiledevice's memory. In addition, acquisition time dt_(a) may be stored.

FIG. 2 is a block diagram of the system 200 that may be implementedusing the PDA of FIG. 1. The system 200 comprises a neural networkmodule 230 that receives various inputs 210-220 to produce a predictedperiod of the power-up phase P_(u) 240. The neural network module 230predicts the next time to power on the GPS device. This module 230 doesso dependent upon various inputs including the last satellite positions210, the last GPS position/time 212, the last GPS error 214, the currentpower-up time 216, information about whether or not the last target(i.e. were the accuracy requirements satisfied or not) was achieved, andthe current radio position and error 220. The latter information 220 maybe determined using Cramer-Rao bounds. Further details of the neuralnetwork 200 are set forth hereinafter.

A flow chart of a method 300 to determine and store P_(u), dt_(a), ande_(p) is depicted in FIG. 3. Processing commences in step 310 in whichthe last N positions reported are used to predict the next position atthe next scheduled power-up time. That is, given the past positionhistory stored in the mobile device, an adaptive algorithm predicts thenext position value. A number of techniques are known for predicting thenext position of a mobile device based on its past history of positions,such as regression, Kalman filter, particle filter. In step 320, at thenext power-up time, the predicted position of the GPS-enabled mobiledevice is compared with the actual position of the mobile device, andthe position error e_(p) is determined. Thus, given a predicted value ofthe position, the predicted value is checked against the actual positionlocation reported the next time the GPS device is powered on to form theprediction error e_(p). In step 330, the current values of the period ofthe power-up phase P_(u), acquisition time d_(ta), and prediction errore_(p) are stored. This information may be stored in the memory of thewireless device or other suitable storage device. Processing thenterminates. The mobile device itself can time how long it took (from theonset of power up) to obtain a GPS fix—this is the acquisition time. IfGPS position is unavailable at a particular epoch, nothing is recorded.

The foregoing method uses the stored position error values e_(p) todetermine how best to set the value of P_(u) given an acceptable errorbound a_(c). A system can thus be designed that adaptively determinesthe best functional fit to the function P_(u) (e_(p)). In oneembodiment, a technique based on neural networks 200 can be used for thedetermination of P_(u) (e_(p)). Given the current best estimate of thisfunction and the acceptable error bound a_(c), the value of P_(u) can bethen set using P_(u) (a_(c)). In addition, a weighted contribution ofP_(u) (a_(c)) can be allowed for to be used in setting the new power-upperiod. A separate algorithm checks whether the current power-up periodis too large or too small, and if so adjusts P_(u) accordingly. The newpower-up period can then be set as wP_(u)+(1−w) P_(u) (a_(c)), where wis a weighting factor in the range 0-1.

FIG. 4 is a flow diagram of a method 400 for adjusting the value ofP_(u) and setting a new power-up period to deliver SM-GPS to mobiledevices. Following on from steps described in FIG. 3, the method 400commences in step 410. In step 410, the stored position error valuee_(p), determined from the last position fix, is read. In decision step412, a check is made to determine if the stored position error valuee_(p) is too large. In one embodiment, the term “too large” means thate_(p) is larger than a_(c). Variations on this in terms some fraction ormultiple of a_(c) can also be used. If decision step 412 returns true(Yes), processing continues at step 414. In step 414, the current valuesof the period of the power-up phase P_(u) is adjusted down. In oneembodiment, the new value may be adjusted to cP_(u), where c is set at0.5. Again, different values of c or different reduction algorithms maybe practiced. The new power-up period has a minimum threshold valuebelow which the power-up period cannot be set. This threshold value maybe one second—which is the period set in the default TricklePower modeof many GPS chipsets. However, other threshold values may be specified.Processing continues from step 414 at step 422. Otherwise, if decisionstep 412 returns false (No), processing continues at step 416.

In decision step 416, a check is made to determine if the storedposition error values e_(p) is too small. In one embodiment, the term“too small” means e_(p) is smaller than 0.5 a_(c). However, variationson this in terms of some other fraction of a_(c) can also be used. Ifdecision step 416 returns true (Yes), processing continues at step 418.In step 418, the current value of the power-up period P_(u) is adjustedupwards. That is, the value of P_(u) is increased to a new value. Thenew value may be calculated as bP_(u), where b is set at 1.5. Onceagain, different values of b or different increase algorithms may bepracticed. The new power-up period has a maximum threshold value abovewhich it cannot be set. This threshold value may be ten minutes, forexample, but this can be set by the user a priori. From step 418,processing continues at step 422. If decision step 416 returns false(No), processing continues at step 420.

In step 420, the current value of the power-up period P_(u) is notchanged, that is, it is maintained at the same value. Processing thencontinues at step 422. In step 422, the new power-up period is set towP_(u)+(1−w)P_(u)(a_(c)). In step 424, a neural network estimate ofP_(u)(e_(p)) is provided to step 422. That is, separate from the abovesteps, a neural network 200 estimate of the function P_(u)(e_(p)) ismade based on the stored values of P_(u) and e_(p). A weighted averageof these two independent values may be used to set the final newpower-up period as wP_(u)+(1−w)P_(u)(a_(c)), where a_(c) is again theacceptable error bound on the position. The value of weighting parameterw is set a priori by the manufacturer or user. In a variant of thisprocess, w can be made time dependent. From step 422, processingterminates.

If position accuracy is the sole criteria dictating the value of P_(u),the above process would suffice. However, if the acquisition time is thesole criteria dictating the value of P_(u), the process 500 depicted inthe flowchart described in FIG. 5 would suffice. This process 500 issimilar to that 400 given above, except that the acquisition time dt_(a)is used to determine the new power-up period. It is the comparison ofdt_(a) with the pre-assigned value for the bound on acquisition timethat is used in decision making process. In step 510, the storedacquisition time dt_(a) is used to determine the last position fix. Indecision step 512, a check is made to determine if the storedacquisition time dt_(a) is too large. In FIG. 5, ac is now theacceptable error on acquisition time. The term “too large” means thatdt_(a) is larger than a_(c). Variations on this in terms of somefraction or multiple of a_(c) can also be used. If decision step 512returns true (Yes), processing continues at step 514. In step 514, thecurrent values of P_(u) is adjusted down. Thus, if dt_(a) is too large,the value of P_(u) is reduced to a new value. The new value may be setto cP_(u), where c is set at 0.5. Different values of c or differentreduction algorithms may be used. Again, a minimum value of the power-upperiod is imposed. Processing continues from step 514 at step 522.Otherwise, if decision step 512 returns false (No), processing continuesat step 516.

In decision step 516, a check is made to determine if the storedacquisition time d_(a) is too small. The term “too small” means thatdt_(a) is smaller than 0.5 Variations on this in terms of some otherfraction of a_(c) can also be used. If decision step 516 returns true(Yes); processing continues at step 518. In step 518, the current valueof P_(u) is adjusted upwards. Thus, if dt_(a) is too small, the value ofP_(u) is increased to a new value. The new value of the power-up periodmay be set to bP_(u) where b is set at 1.5. Different values of b ordifferent increase algorithms may be used. Again a maximum value of thepower-up period is imposed. From step 518, processing continues at step522. If decision step 516 returns false (No), processing continues atstep 520.

In step 520, the current value of the power-up period P_(u) is notchanged, that is, it is maintained at the same value. Processing thencontinues at step 522. In step 522, the new power-up period is set towP_(u)+(1−w)P_(u)(a_(c)). In step 524, a neural network estimate ofP_(u)(dt_(a))) is provided to step 522. A weighted average of these twoindependent values is then used to set the final new power-up period aswP_(u)+(1−w)P_(u)(a_(c)), where a_(c) is again the acceptable errorbound on the acquisition time. The value of w is seta priori by themanufacturer or user. In a variant of this process w can be made timedependent. That is, separate from the above steps, a neural network 200estimate of the function P_(u)(dt_(a)) is made based on the storedvalues of P and dt_(a). From step 522, processing terminates.

In the event that both the position accuracy and the acquisition timeare to be considered in dictating the new value of the power-up period,both algorithms shown in FIGS. 4 and 5 may be run simultaneously andindependently. The smaller of the two new values of the power-up periodreported by the algorithms may be utilized as the final new value.

As used by an E-911 application, the mobile device can automaticallypower-up the GPS device and determine its current position, if the GPSis available at that particular time. Due the SM-GPS algorithm describedhereinbefore, cold start of the GPS device should be avoided. If forsome reason the GPS is unavailable (e.g. by non-line of sight effects)when an emergency position request is made, the mobile device can reportthe GPS position predicted at the last power-up phase. This has theadvantage over A-GPS that no added network infrastructure is required,and an estimate of the mobile device's current position is given even ifthe GPS suddenly became unavailable.

In the context of continuous position requests, such as in a trackingapplication, the SM-GPS algorithm adaptively alters the power-up periodto find the largest value of P_(u) at that particular epoch that isconsistent with the required accuracy and acquisition time bounds. Thishas an advantage relative to current systems that the user of the devicedoes not have to estimate and manually enter such a value a priori. Thisalso has the advantage of self-adjusting the value of P_(u) to changingconditions.

III. NEURAL NETWORKS

The adaptive prediction algorithm used for predicting positions andwithin the SM-GPS is similar to a Time Delay Neural Network (TDNN). Suchnetworks are neural networks that have a special topology used forposition-independent recognition of features within a larger pattern.These types of networks have been successfully used in applications suchas speech prediction algorithms and stock predictions. Flexibility inthe architectural design of these networks allows them to handle anycomplex nonlinear behavior as well as more simple linear behavior. ATDNN with just one neuron and a linear transfer function can be trainedto operate as an effective linear adaptive filter.

The details of TDNNs, how they operate and the different architecturespossible (e.g. learning strategies, transfer functions, number oflayers, weights) have been well documented in the literature. Forexample, see Simon Haykin, Neural Networks: A comprehensive foundation,MacMillan, New York, 1994. In one embodiment, the previous positions areused to form the input vectors of the neural network and the output isthe predicted position.

Other neural network are constructed to optimally find the functionsP_(u)(e_(p)) and P_(u)(dt_(a)) in FIGS. 4 and 5, respectively. These arereferred to as “function discovery” neural networks. Again thesenetworks are adaptive, in the sense that the functional formsP_(u)(e_(p)) and P_(u)(dt_(a)) do not remain constant in time.

To accommodate various forms of relationships between the input vectorsand the output in a neural network, MultiLayer Perceptron (MLP) modelsare used. These types of models can be applied to both the TDNN networksand the function discovery neural networks. MLP models typically have aninput vector of length r and a hidden layer of s neurons. A matrix ofweights α_(s,r) describes the relationship between the input vectors andthe layer of neurons. Various transfer function can be deployed such asa log-sigmiod transfer function. In general, the number of hidden layerscan be increased to accommodate even more complex systems. In oneembodiment, an MLP network that is adopted involves one hidden layer anda number of neurons equal to the size of the input vector. A log-sigmoidtransfer function is adopted. For TDNN, the weights associated with theneural network adapt to the newly predicted position and its subsequentmeasurement of the actual position to minimize future prediction errors.By this mechanism, the network adapts and “learns” the optimal weightα_(s,r) settings relevant to that particular epoch.

For the function discovery neural networks, the weights associated withthe neural networks adapt to the newly predicted functional form of thefunctions (P_(u)(e_(p)) and P_(u)(dt_(a)) of FIGS. 4 and 5,respectively, based on the incoming new data. This means that the neuralnetworks are constantly re-training themselves.

IV. OTHER EMBODIMENTS & VARIATIONS

The adaptive learning algorithms can be embedded on a signal processingchip in a mobile device. For additional power savings, the neuralnetwork calculations may be passed to some external processing unitwithin the network, if the mobile device is in communication with alarger network, e.g. a wireless network. The value of the power-upperiod calculated by the external device may then be passed back to themobile device.

In the event of a GPS signal being unavailable, the position error andacquisition time are not defined for that time. As this could be anindication that the user is in an area where reception of the GPSsatellite signals is poor, one may wish not to decrease the power-upperiod, or at least to limit the decrease. In this way additional energysources are not used in a vain attempt at acquiring a GPS signal.

There are many neural network architectures that could be deployed inthe algorithms of FIGS. 2, 4 and 5. For example, the predicted positioncan also be a function of the actual P_(u) being used (in generalshorter values of P_(u) have smaller errors). A neural network can beinvoked in which the past history of P_(u) is also an input to theneural network. Radial basis function networks could also be deployed inthe estimates of the functions P_(u)(e_(p)) and P_(u)(dt_(a)). Athorough discussion of neural network architectures can be found instandard texts. Again, see for example Simon Haykin, Neural Networks: Acomprehensive foundation, MacMillan, New York, 1994.

VI. OTHER EMBODIMENTS & VARIATIONS

The methods according to the embodiments of the invention may bepracticed using one or more general-purpose computer systems, handhelddevices, cellular phone, and other suitable mobile computing devices, inwhich the processes described with reference to FIGS. 1-5 may beimplemented as software, such as an application program executing withinthe computer system or a handheld device. In particular, instructions inthe software that are carried out by the computer effect the steps inthe method, at least in part. Software may include one or more computerprograms, including application programs, an operating system,procedures, rules, data structures, and data. The instructions may beformed as one or more code modules, each for performing one or moreparticular tasks. The software may be stored in a computer readablemedium, comprising one or more of the storage devices described below,for example. The computer system loads the software from the computerreadable medium and then executes the software. FIG. 6 depicts anexample of a computer system 600 with which the embodiments of theinvention may be practiced. A computer readable medium having suchsoftware recorded on the medium is a computer program product. The useof the computer program product in the computer system may effect anadvantageous apparatus in accordance with the embodiments of theinvention.

FIG. 6 illustrates the computer system 600 in block diagram form,coupled to a wireless network 620. An operator may use the keyboard 630and/or a pointing device such as the mouse 632 (or touchpad, forexample) to provide input to the computer 650. The computer system 600may have any of a number of output devices, including line printers,laser printers, plotters, and other reproduction devices connected tothe computer. The computer system 600 can be connected to one or moreother computers via a communication interface 664 using an appropriatecommunication channel 640. The computer network 620 may comprise awireless local area network (WLAN), or a 3G network, for example. Whilenot depicted in FIG. 6 to simplify the drawing, it will be readilyappreciated by those skilled in the art that the computer system 600 maybe equipped with a GPS module, for example, in the manner shown in FIG.1.

The computer 650 may comprise a processing unit 666 (e.g., one or morecentral processing units) 666, memory 670 which may comprise randomaccess memory (RAM), read-only memory (ROM), or a combination of thetwo, input/output (IO) interfaces 672, a graphics interface 660, and oneor more storage devices 662. The storage device(s) 662 may comprise oneor more of the following: a floppy disc, a hard disc drive, amagneto-optical disc drive, CD-ROM, DVD, a data card or memory stick,flash RAM device, magnetic tape or any other of a number of non-volatilestorage devices well known to those skilled in the art. While thestorage device is shown directly connected to the bus in FIG. 6, such astorage device may be connected through any suitable interface, such asa parallel port, serial port, USB interface, a Firewire interface, awireless interface, a PCMCIA slot, or the like. For the purposes of thisdescription, a storage unit may comprise one or more of the memory 670and the storage devices 662 (as indicated by a dashed box surroundingthese elements in FIG. 6).

Each of the components of the computer 650 is typically connected to oneor more of the other devices via one or more buses 680, depictedgenerally in FIG. 6, that in turn comprise data, address, and controlbuses. While a single bus 680 is depicted in FIG. 6, it will be wellunderstood by those skilled in the art that a computer or otherelectronic computing device, such as a PDA, may have several busesincluding one or more of a processor bus, a memory bus, a graphics cardbus, and a peripheral bus. Suitable bridges may be utilized to interfacecommunications between such buses. While a system using a CPU has beendescribed, it will be appreciated by those skilled in the art that otherprocessing units capable of processing data and carrying out operationsmay be used instead without departing from the scope and spirit of theinvention.

The computer system 600 is simply provided for illustrative purposes,and other configurations can be employed without departing from thescope and spirit of the invention. Computers with which the embodimentcan be practiced comprise IBM-PC/ATs or compatibles, laptop/notebookcomputers, one of the Macintosh™ family of PCs, Sun Sparcstation™, aPDA, a workstation or the like. The foregoing are merely examples of thetypes of devices with which the embodiments of the invention may bepracticed. Typically, the processes of the embodiments, describedhereinafter, are resident as software or a program recorded on a harddisk drive as the computer readable medium, and read and controlledusing the processor. Intermediate storage of the program andintermediate data and any data fetched from the network may beaccomplished using the semiconductor memory.

In some instances, the program may be supplied encoded on a CD-ROM or afloppy disk, or alternatively could be read from a network via a modemdevice connected to the computer, for example. Still further, thesoftware can also be loaded into the computer system from other computerreadable medium comprising magnetic tape, a ROM or integrated circuit, amagneto-optical disk, a radio or infra-red transmission channel betweenthe computer and another device, a computer readable card such as aPCMCIA card, and the Internet and Intranets comprising emailtransmissions and information recorded on websites and the like. Theforegoing is merely an example of relevant computer readable mediums.Other computer readable mediums may be practiced without departing fromthe scope and spirit of the invention.

A small number of embodiments of the invention regarding methods,systems, and computer program products for energy efficient GPSacquisition on a mobile device have been described. In the light of theforegoing, it will be apparent to those skilled in the art in the lightof this disclosure that various modifications and/or substitutions maybe made without departing from the scope and spirit of the invention.

The invention claimed is:
 1. A method of acquiring GPS position on a mobile wireless communication device for a wireless communications network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network and an embedded GPS Global Positioning System (GPS) module for GPS capability, said method comprising: setting a current value of a period of a power-up phase of said GPSadaptively predicting when said GPS module should be powered on to meet specifications on at least one of positioning accuracy and GPS acquisition time, said adaptively predicting when said GPS module should be powered on being dependent on a current radio position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy and GPS acquisition time, said wireless communications network being different from said GPS.
 2. The method according to claim 1, wherein the current radio position and error are is determined using Cramer-Rao Bounds.
 3. The method according to claim 1, wherein the period of the power-up phase is set while retaining the accuracy of a position fix and acquisition times of the position fix within acceptable statistical bounds.
 4. The method according to claim 1, wherein said mobile device determines dynamically an optimal period of the power-up phase.
 5. The method according to claim 1, wherein said current value of said period of the power-up phase is set using adaptive-filter and machine-learning techniques.
 6. The method according to claim 5, wherein said adaptive-filter and machine learning techniques are implemented using said mobile device.
 7. The method according to claim 1 further comprising: if at least one of said position error and acquisition times of GPS fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and if at least one of said position error and acquisition times of GPS meet said acceptable bounds, increasing said value of said period of the power-up phase.
 8. The method according to claim 1, wherein said mobile device comprises a power limited device.
 9. The method according to claim 1, wherein said embedded GPS module comprises an embedded GPS device.
 10. The method according to claim 1, further comprising the step of making adaptive predictions using a neural network.
 11. The method according to claim 1, wherein said setting step comprises: predicting a next position at a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network; comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and storing current values of said period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
 12. A mobile wireless communication device for a wireless communications network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network, said mobile wireless communication device comprising: a processor; a memory coupled to said processor; an embedded GPS Global Positioning System (GPS) module coupled to said processor providing a GPS capability for said mobile wireless communication device; and means for setting a current value of a period of a power-up phase of said GPS adaptively predicting when said GPS module should be powered on to meet specifications on at least one of positioning accuracy and GPS acquisition time, said adaptively predicting when said GPS module should be powered on being dependent on the current radio a position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy and GPS acquisition time, said wireless communications network being different from said GPS.
 13. The mobile device according to claim 12, wherein the current radio position and error are is determined using Cramer-Rao Bounds.
 14. The mobile device according to claim 12, wherein the period of the power-up phase is set while retaining the accuracy of a position fix and acquisition times of the position fix within acceptable statistical bounds.
 15. The mobile device according to claim 12, wherein said mobile device determines dynamically an optimal period of the power-up phase.
 16. The mobile device according to claim 12, wherein said current value of said period of the power-up phase is set using adaptive-filter and machine-learning techniques.
 17. The mobile device according to claim 16, wherein said adaptive-filter and machine-learning techniques are implemented using said mobile device.
 18. The mobile device according to claim 12, further comprising: means for, if at least one of position error and acquisition times of GPS fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and means for, if at least one of said position error and acquisition times of GPS meet said acceptable bounds, increasing said value of said period of the power-up phase.
 19. The mobile device according to claim 12, wherein said mobile device comprises a power limited device.
 20. The mobile device according to claim 19, further comprising a battery for powering said mobile device.
 21. The mobile device according to claim 12, further comprising a neural network module for making adaptive predictions.
 22. The mobile device according to claim 12, wherein said setting means comprises: means for predicting a next position at a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network; means for comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and means for storing current values of a period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
 23. A computer program product for a mobile wireless communication device for a wireless communication network, said mobile wireless communication device possessing wireless communications capability for said wireless communications network and an embedded GPS Global Positioning System (GPS) module for GPS capability, said computer program product having a computer readable medium storing a computer program for acquiring GPS position on said mobile wireless communication device, comprising: computer program code means for interfacing with the GPS capability of said mobile wireless communication device; and computer program code means for setting a current value of the period of the power-up phase of said GPS adaptively predicting when said GPS module should be powered on to meet specifications on at least one of positioning accuracy and GPS acquisition time said adaptively predicting when said GPS module should be powered on being dependent on a current radio position and error of said mobile wireless communication device in the wireless network, said position error being determined from the wireless communications network and adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy and GPS acquisition time, said wireless communications network being different from said GPS.
 24. The computer program product according to claim 23, wherein the current radio position and error are is determined using Cramer-Rao Bounds.
 25. The computer program product according to claim 23, wherein the period of the power-up phase is set while retaining the accuracy of a position fix and acquisition times of the position fix within acceptable statistical bounds.
 26. The computer program product according to claim 23, wherein said computer program product determines dynamically an optimal period of the power-up phase.
 27. The computer program product according to claim 23, wherein said current value of said period of the power-up phase is set using adaptive-filter and machine-learning techniques.
 28. The computer program product according to claim 27, wherein said adaptive-filter and machine-learning techniques are implemented using said mobile device.
 29. The computer program product according to claim 23, further comprising: computer program code means for, if at least one of said position error and acquisition times of GPS fail to meet acceptable bounds, reducing said value of said period of the power-up phase; and computer program code means for, if at least one of said position error and acquisition times of GPS meet said acceptable bounds, increasing said value of said period of the power-up phase.
 30. The computer program product according to claim 23, wherein said mobile device comprises a power limited device.
 31. The computer program product according to claim 30, wherein said mobile device comprises a battery for powering said mobile device.
 32. The computer program product according to claim 23, further comprising computer program code means for providing a neural network module to make adaptive predictions.
 33. The computer program product according to claim 23, wherein said computer program code means for setting comprises: computer program code means for predicting at a next position a next scheduled power-up time using a number of last positions reported of said mobile device in the wireless network determined from the wireless network; computer program code means for comparing said predicted position at said next power-up time with an actual position of said mobile device in the wireless network determined from the wireless network and determining said position error; and computer program code means for storing current values of a period of the power-up phase, acquisition time, said position error, and position in a storage unit of said mobile device.
 34. A method of acquiring GPS position on a mobile device for a wireless network, said mobile device possessing wireless communications capability for said wireless network and GPS having a Global Positioning System (GPS) module possessing GPS capability, said method comprising the steps of: usingdetermining a position error of said mobile device in the wireless network, the position error being determined from the wireless network, said wireless communications network being different from said GPS; ifupon being determined that the position error is too large, adjusting a current value of a period of a power-up phase of said GPS module downward; ifupon being determined that the position error is too small, adjusting the current value of said period of the power-up phase of said GPS module upward; estimating using a neural network a new value of said period of the power-up phase of said GPS module dependent upon said position error; and setting a the new value of said period of the power-up phase of said GPS to a weighted value dependent upon an acceptable error bound.
 35. A method of acquiring GPS position on a mobile device for a wireless network, said mobile device possessing wireless communications capability for said wireless network and GPS having a Global Positioning System (GPS) module processing GPS capability, said method comprising the steps of: usingdetermining an acquisition time at a last position fix of the mobile device in the wireless network, the last position fix being determined from the wireless network, said wireless communications network being different from said GPS; ifupon being determined that the acquisition time is too large, adjusting a current value of a period of a power-up phase of said GPS module downward; ifupon being determined that the acquisition time is too small, adjusting the current value of said period of the power-up phase of said GPS module upward; estimating using a neural network a new value of said period of the power-up phase of said GPS module dependent upon said acquisition time; and setting a the new value of said period of the power-up phase of said GPS module to a weighted value dependent upon an acceptable bound.
 36. The method according to claim 34, wherein the position error is the Cramer-Rao Bound on the radio position of the mobile device.
 37. The method according to claim 1, further comprising setting a current value of a period of the power-up phase of said GPS dependent upon adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy or GPS acquisition time.
 38. The mobile device according to claim 12, further comprising means for setting a current value of the period of the power-up phase of said GPS dependent upon adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy or GPS acquisition time.
 39. The computer program product according to claim 23, further comprising computer program code means for setting a current value of the period of the power-up phase of said GPS dependent upon adaptive predictions of when said GPS should be powered on to meet specifications on positioning accuracy or GPS acquisition time. 